class ElasticArray
{
private:
	static const double ELASTICITY;
	static const int BASE_CAPACITY;
	int *array_;
	int size_;
	int capacity_;

private:
	int* make_array(int capacity) const;
	void ensure_capacity(int requested);

public:
	void push_back(int n);
	void set(int i, int n);
	int get(int i) const;
	int get_size() const;
	ElasticArray& operator=(const ElasticArray& a);
	ElasticArray(size_t capacity);
	ElasticArray(const ElasticArray& a);
	~ElasticArray();
};